# 7: 耕地占补平衡及永久基本农田占用补划单元
import streamlit as st
from __init__ import lineinput
from common_components import button_group
def page_7():
    st.subheader("7: 耕地占补平衡及永久基本农田占用补划单元")
    # 头部信息（默认折叠）
    with st.expander("基本信息（点击展开）", expanded=False):
        st.markdown("""
        ### 一、业务指导处室  
        耕地保护监督处

        ### 二、审查标准  
        1. 建设占用耕地(包括占用可调整地类、无合法来源的建设用地占用时为耕地)数据准确，已按有关规定落实耕地占补平衡。
        2. 补充耕地方式属于委托补充，建设单位已足额缴纳耕地开垦费，其中涉及永久基本农田的按照不低于两倍缴纳。
        3. 项目占用补划永久基本农田的具体数量、质量符合要求。
        4. 省厅已按照有关规定组织踏勘论证，已说明占用永久基本农田的必要性、合理性，占用和补划永久基本农田方案可行。
        """)
    
    # 使用侧边栏中设置的用地类型
    land_type = st.session_state.land_type
    
    # 设置默认变量缓存
    defaults = {
        '用地类型': land_type,
        # 永久基本农田占用相关默认值
        '占用永农总面积': '0.0000',
        '各功能区永农占用明细': '主要为项目主体工程占用',
        '占用永农理由': '公共利益需要',
        '占用永农平均质量': '8等',
        '补划县列表': 'XX县',
        '补划永农面积': '0.0000',
        '补划平均质量': '8等',
        '永农变化情况': '未变或减少',
        '减少面积': '0.0000',
        '减少情况说明': '优化设计减少占用',
        '超出面积': '0.0000',
        '调整说明': '无',
        '功能区变化明细': '无',
        '调整必要性': '无',
        '调整合理性': '无',
        '踏勘评审年': '2025',
        '踏勘评审月': '1',
        '踏勘评审日': '15',
        # 补充耕地情况相关默认值
        '占用耕地': '是',
        '实行挂钩管理': '是',
        '需补充耕地总面积': '0.0000',
        '现状耕地占用': '0.0000',
        '涉及可调整': '否',
        '可调整面积': '0.0000',
        '已完成补充面积': '0.0000',
        '挂钩编号': '20250115001',
        '落实方式': '缴纳开垦费',
        # 旧格式过渡期说明相关默认值
        '使用原系统': '否',
        '旧需数量': '0.0000',
        '旧需水田': '0.0000',
        '旧需产能': '0',
        '旧可调面积': '0.0000',
        '旧可调产能': '0',
        '旧完数量': '0.0000',
        '旧完水田': '0.0000',
        '旧完产能': '0',
        '旧系统编号': 'GDBP20250115001'
    }
    
    # 根据用户选择生成相应的模板内容
    fixed_template = ''
    
    # 单独选址时显示永久基本农田补划内容
    if land_type == '单独选址':
        fixed_template += '''（永久基本农田补划——仅单独选址）
        1.占用及补划总体情况
        项目申请占用永久基本农田{{ 占用永农总面积 }}公顷，各功能分区占用情况：{{ 各功能区永农占用明细 }}。占用理由：{{ 占用永农理由 }}，平均质量等别{{ 占用永农平均质量 }}。

        {{ 补划县列表 }}自然资源主管部门已在长期稳定利用耕地上完成补划{{ 补划永农面积 }}公顷，平均质量等别{{ 补划平均质量 }}，坡度均＜25°，数量不减少、质量不降低。

        2.与用地预审对比
        永农变化情况：{{ 永农变化情况 }}
        '''
        
        # 根据永农变化情况添加相应内容
        if defaults['永农变化情况'] == '未变或减少':
            fixed_template += '''①占用永久基本农田面积未超过用地预审批复规模（较预审减少{{ 减少面积 }}公顷，具体为：{{ 减少情况说明 }}）。'''
        else:
            fixed_template += '''②占用永久基本农田超出用地预审控制规模{{ 超出面积 }}公顷，调整具体情况：{{ 调整说明 }}；各功能分区变化：{{ 功能区变化明细 }}；调整必要性：{{ 调整必要性 }}；合理性：{{ 调整合理性 }}。'''
        
        # 添加省级论证意见
        fixed_template += '''
3.省级论证意见
{{ 踏勘评审年 }}年{{ 踏勘评审月 }}月{{ 踏勘评审日 }}日，省自然资源厅组织专家现场踏勘并评审论证，结论：占用必要、补划合规，通过论证。
'''
    
    # 添加补充耕地情况（占补平衡）
    fixed_template += '''
4.补充耕地情况（占补平衡）
占用耕地：{{ 占用耕地 }}
'''
    
    if defaults['占用耕地'] == '是':
        fixed_template += '''实行挂钩管理：{{ 实行挂钩管理 }}
'''
        
        if defaults['实行挂钩管理'] == '是':
            fixed_template += '''项目共需补充耕地{{ 需补充耕地总面积 }}公顷（含现状耕地{{ 现状耕地占用 }}公顷'''
            
            if defaults['涉及可调整'] == '是':
                fixed_template += '''；另因2020年前违法用地涉及可调整地类{{ 可调整面积 }}公顷'''
                
            fixed_template += '''）。
涉及可调整地类：{{ 涉及可调整 }}
补充耕地任务已完成，补充{{ 已完成补充面积 }}公顷，省级占补平衡平台已挂钩，确认编号：{{ 挂钩编号 }}，实现数量、质量双到位。建设单位已通过{{ 落实方式 }}（缴纳开垦费/自行垦造）履行补充义务。
'''
        else:
            fixed_template += '''我省新一轮国土空间规划耕地保护目标高于上一轮，按规定可不实行挂钩管理。建设单位已通过{{ 落实方式 }}履行补充义务，市县将统筹落实补充，确保保护目标不突破、质量不降低。
'''
    else:
        fixed_template += '''[不涉及补充耕地情况] 项目不涉及占用耕地。
'''
    
    # 添加旧格式过渡期说明
    fixed_template += '''
5.旧格式过渡期说明（如仍用原系统）
使用原系统：{{ 使用原系统 }}
'''
    
    if defaults['使用原系统'] == '是':
        fixed_template += '''[需补充耕地情况] 需补充耕地数量{{ 旧需数量 }}公顷、水田规模{{ 旧需水田 }}公顷（或不占水田）、标准粮食产能{{ 旧需产能 }}公斤'''
        
        if defaults['涉及可调整'] == '是':
            fixed_template += '''；另涉及可调整地类{{ 旧可调面积 }}公顷（产能{{ 旧可调产能 }}公斤）'''
            
        fixed_template += '''。

[已补充耕地情况] 已完成补充耕地数量{{ 旧完数量 }}公顷、水田规模{{ 旧完水田 }}公顷、标准粮食产能{{ 旧完产能 }}公斤，部耕地占补平衡动态监管系统已挂钩，确认编号：{{ 旧系统编号 }}，数量、质量双到位。
'''
    
    # 确保session_state中存在default_values字典
    if 'default_values' not in st.session_state:
        st.session_state.default_values = {}
    
    # 更新默认值到session_state
    for k, v in defaults.items():
        st.session_state.default_values.setdefault(k, v)

    # 调用组件，传递模板和默认值字典
    component_result = lineinput(
        fixed_template, 
        default_values=st.session_state.default_values.copy(),
        key="page_7_" + land_type
    )
    return component_result